<?php

class usuariosM extends CI_Model {

    public function __construct() {
        $this->load->database();
    }

    public function crearNuevo($data, $id_establecimento) {
        $this->db->query("SET AUTOCOMMIT=0");
        $this->db->query("BEGIN;");
        try {
            $query = "INSERT INTO usuario(nombre_completo,usuario,email,password,rol) VALUES('{$data['nombre_completo']}','{$data['usuario']}','{$data['email']}','{$data['password']}',0)";
            $this->db->query($query);
            $user = $this->getLastValue("usuario", "id_usuario");
            $query = "INSERT INTO establecimiento_x_usuario(id_establecimiento,id_usuario,rol) VALUES('$id_establecimento','$user','0')";
            $this->db->query($query);
            $this->db->query("COMMIT;");
        } catch (Exception $e) {
            $this->db->query("ROLLBACK;");
            $this->db->query("SET AUTOCOMMIT=1");
            return false;
        }
        $this->db->query("SET AUTOCOMMIT=1");
        return true;
    }

    public function getLastValue($tabla, $atributo) {
        $query = "SELECT coalesce(max($atributo),0) as result FROM $tabla";
        $result = $this->db->query($query)->result();
        $result = $result[0];
        return $result->result;
    }

    public function getListaUsuarios($establecimiento) {
        $query = "SELECT * FROM usuario u ,establecimiento_x_usuario e WHERE u.id_usuario=e.id_usuario AND e.id_establecimiento='$establecimiento' AND u.eliminado=0";
        $result = $this->db->query($query)->result();
        // var_dump($result);
        return $result;
    }

    public function eliminarUsuario($data) {
        //  $query="DELETE FROM establecimiento_x_usuario WHERE id_establecimiento='$id_establecimiento' AND id_usuario='$id_usuario'";
        // $this->db->query($query);
        $query = "UPDATE usuario SET eliminado=1 WHERE id_usuario='{$data['id_usuario']}'";
        $this->db->query($query);
    }

    public function reestablecerPassword($data) {
        $query = "UPDATE usuario SET password='{$data['usuario']}' WHERE id_usuario='{$data['id_usuario']}'";
        $this->db->query($query);
    }

    public function obtenerDatos($datos, $idUsuario) {
        $query = "SELECT $datos FROM usuario where id_usuario='$idUsuario'";
        return $this->db->query($query)->result();
    }

    public function datosUsuario($usuario, $pass) {
        $query = "SELECT * FROM usuario where usuario='$usuario' AND password='$pass'";
        return $this->db->query($query)->result();
    }

    public function getSuperAdministrador($user, $pass) {
        $query = "SELECT * FROM usuario WHERE usuario='$user' AND password='$pass' AND rol='superadministrador'";
        return $this->db->query($query)->result();
    }

}